package com.liuyu.common.framework.mybatis.score.query;

import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @ClassName: ScScoreQuery
 * @notes: Query对象, 使用途径:Query:数据查询对象，各层接收上层的查询请求。注意超过 2 个参数的查询封装，禁止使用 Map 类来传输。放到最底层 dao层<br/>
 * @Description: ScScoreQuery对象.对应实体描述：评分
 * @Author: liuyu
 * @Date: 2024-10-15 17:59:41
 * @Version: 1
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Schema(description = "ScScoreQuery对象")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ScScoreQuery implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 对应字段：id,备注：序号
     */
    @Schema(description = "序号", name = "id", title = "序号")
    private Integer id;
    /**
     * 对应字段：project_id,备注：项目ID
     */
    @Schema(description = "项目ID", name = "projectId", title = "项目ID")
    private Integer projectId;
    /**
     * 对应字段：rule_id,备注：规则ID
     */
    @Schema(description = "规则ID", name = "ruleId", title = "规则ID")
    private Integer ruleId;
    /**
     * 对应字段：score_name,备注：评分名称
     */
    @Schema(description = "评分名称", name = "scoreName", title = "评分名称")
    private String scoreName;
    /**
     * 对应字段：com_code,备注：归属机构代码
     */
    @Schema(description = "归属机构代码", name = "comCode", title = "归属机构代码")
    private String comCode;
    /**
     * 对应字段：date,备注：日期
     */
    @Schema(description = "日期", name = "date", title = "日期")
    private String date;
    /**
     * 对应字段：total_score,备注：总分
     */
    @Schema(description = "总分", name = "totalScore", title = "总分")
    private BigDecimal totalScore;
    /**
     * 对应字段：valid_start_time,备注：有效开始时间
     */
    @Schema(description = "有效开始时间", name = "validStartTime", title = "有效开始时间")
    private LocalDateTime validStartTime;
    /**
     * 对应字段：valid_end_time,备注：有效结束时间
     */
    @Schema(description = "有效结束时间", name = "validEndTime", title = "有效结束时间")
    private LocalDateTime validEndTime;
    /**
     * 对应字段：description,备注：描述
     */
    @Schema(description = "描述", name = "description", title = "描述")
    private String description;
    /**
     * 对应字段：remark,备注：备注
     */
    @Schema(description = "备注", name = "remark", title = "备注")
    private String remark;
    /**
     * 对应字段：valid_status,备注：有效标志位;1：有效0：无效
     */
    @Schema(description = "有效标志位;1：有效0：无效", name = "validStatus", title = "有效标志位;1：有效0：无效")
    private String validStatus;
    /**
     * 对应字段：create_code,备注：创建人
     */
    @Schema(description = "创建人", name = "createCode", title = "创建人")
    private String createCode;
    /**
     * 对应字段：create_time,备注：创建时间
     */
    @Schema(description = "创建时间", name = "createTime", title = "创建时间")
    private LocalDateTime createTime;
    /**
     * 对应字段：update_code,备注：更新人代码
     */
    @Schema(description = "更新人代码", name = "updateCode", title = "更新人代码")
    private String updateCode;
    /**
     * 对应字段：update_time,备注：更新时间
     */
    @Schema(description = "更新时间", name = "updateTime", title = "更新时间")
    private LocalDateTime updateTime;
    /**
     * 对应字段：under_write_flag,备注：审核状态;0：初始化1：审核通过2：待审核3：取消5：不通过
     */
    @Schema(description = "审核状态;0：初始化1：审核通过2：待审核3：取消5：不通过", name = "underWriteFlag", title = "审核状态;0：初始化1：审核通过2：待审核3：取消5：不通过")
    private String underWriteFlag;
    /**
     * 对应字段：under_write_code,备注：审核人代码
     */
    @Schema(description = "审核人代码", name = "underWriteCode", title = "审核人代码")
    private String underWriteCode;
    /**
     * 对应字段：under_write_end_date,备注：审核通过时间
     */
    @Schema(description = "审核通过时间", name = "underWriteEndDate", title = "审核通过时间")
    private LocalDateTime underWriteEndDate;
    /**
     * 对应字段：operate_time_for_his,备注：操作时间
     */
    @Schema(description = "操作时间", name = "operateTimeForHis", title = "操作时间")
    private LocalDateTime operateTimeForHis;
    /**
     * 对应字段：version,备注：版本号
     */
    @Schema(description = "版本号", name = "version", title = "版本号")
    private Integer version;
}